package com.galaxy.coupon.domain.convert;

import com.galaxy.coupon.domain.PointsExchangeRule;
import com.galaxy.coupon.domain.bo.PointsExchangeRuleBo;
import com.galaxy.coupon.domain.vo.PointsExchangeRuleVo;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 积分兑换规则对象转换器
 */
@Mapper
public interface PointsExchangeRuleConvert {
    PointsExchangeRuleConvert INSTANCE = Mappers.getMapper(PointsExchangeRuleConvert.class);

    /**
     * 实体转BO
     */
    PointsExchangeRuleBo convert(PointsExchangeRule bean);

    /**
     * 实体列表转BO列表
     */
    List<PointsExchangeRuleBo> convertList(List<PointsExchangeRule> list);

    /**
     * 实体转VO
     */
    PointsExchangeRuleVo convertVo(PointsExchangeRule bean);

    /**
     * 实体列表转VO列表
     */
    List<PointsExchangeRuleVo> convertVoList(List<PointsExchangeRule> list);

    /**
     * BO转实体
     */
    PointsExchangeRule convert(PointsExchangeRuleBo bo);

    /**
     * BO列表转实体列表
     */
    List<PointsExchangeRule> convertListBo(List<PointsExchangeRuleBo> list);

    /**
     * VO转BO
     */
    PointsExchangeRuleBo convert(PointsExchangeRuleVo vo);
} 